// 定义响应代码常量
const SUCCESS_CODE = 0;
const ERROR_CODE = 1;

/**
 * 用于生成成功响应对象。
 * @param {any} data - 成功响应时返回的数据。
 * @returns {Object} 包含成功代码和数据的对象。
 */
export const success = (data) => {
  // 确保data是有效的，这里简单地检查了data是否存在
  if (!data) {
    throw new Error('Data is required for success response.');
  }
  
  return {
    code: SUCCESS_CODE,
    data,
  };
};

/**
 * 用于生成错误响应对象。
 * @param {string} msg - 错误响应时返回的消息。
 * @returns {Object} 包含错误代码和消息的对象。
 */
export const error = (msg) => {
  // 确保msg是字符串类型
  if (typeof msg !== 'string') {
    throw new TypeError('Message must be a string.');
  }
  
  return {
    code: ERROR_CODE,
    msg,
  };
};